Contents (Uploader v6.3)
- New Installation
- Update Instruction (from 6.2.1)
- Changes in this version
New Installation
The following steps are for New Installation of version 6.3 only. If you are running an older version, skip to the Update Instructions.
- Extract the contents of the Zip file to a temporary directory on your computer. You should have 5 directories and a bunch of PHP files. Like so:
- data
- files
- includes
- pfiles
- templates
- .htaccess
- account.php
- admin.php
- announcements.php
- browse.php
- ...
- view.php
- Edit the following files. Follow the instructions included in these files.
Make sure you have created a MySQL database. You can also use an existing database. Make sure that the existing database does not contain any tables that the uploader will use. The installation script will drop existing tables and create new ones. Tables created and used by the uploader start with uploader_.
- configs.inc.php
- pub_settings.inc.php
- upl_settings.inc.php
- usr_settings.inc.php
- Upload the following directories to your server in ASCII or Auto mode:
- data CHMOD to 0755
- data/logs CHMOD to 0755
- files CHMOD to 0755
- pfiles CHMOD to 0755
- templates
- Upload the PHP files in the root directory (where install.php is located) in Binary mode. If you do not know how to do this, see your FTP Client's help files or Google.
- Upload all files in the includes directory in Binary mode except for the following files which should be uploaded in ASCII mode but it's OK if they are in binary mode.
- configs.inc.php
- messages.xxxxx.inc.php
- pub_settings.inc.php
- upl_settings.inc.php
- usr_settings.inc.php
- If you failed to upload the php files in the correct mode, you will get an error like this:
Fatal error: Unable to read 793 bytes in /home/celeron/public_html/test.php on line 0.
If you get a garbled output that starts with "ZEND", this means that your server does not have the ZEND encoder and cannot run this script. Use version 6.2.1 instead.
-
Run getkey.php. Do not try to install, the script will just tell you that you have an invalid license key. getkey.php will give you a message, like this:
The server key is: d4bc63fc259df3737c0cfb2d6cbf8d49
Email me the server key along with your paypal address for proof of purchase. I will send you a license key in response, usually within minutes during business hours (PST). Edit configs.inc.php and enter this license key.
The server key is different for every server and will change if you move the location of the uploader (php) files. It's safe to leave getkey.php on the server in case you accidently lose the license key and need to generate another server key.
- Run install.php and follow the instructions. Delete it when you are finished.
- Remember that all configurable options are available in configs.inc.php or the xxx_settings.inc.php files. Take a look at these files before asking me how to change something. The online settings manager that was available in all previous versions have been removed.
Update Instructions
The following steps are for updating the script from version 6.2.1 ONLY. If you are running an older version than 6.2.1, follow the update instructions for updating to version 6.2.1. Remember to backup the database and the user/public files directories first!.
-
The new version uses the keywords "files" and "public" in the URL to acces user files and public files.
Mod_rewrite is supposed to intercept all requests so that apache will not try to access the actual "files" and "public" directories.
On some servers, at least my local server (same server two installations; one works one doesnt', weird. I'll look into it.), Apache will try to find these directories before applying
the rewrite rules. Since the URLs to the files are not direct URL, this will result in 404s. The solution is to rename these directories.
In the new version, they are called "ufiles" and "pfiles". The update script uses an existing 6.2.1 installation to update it to 6.3 so you must
do the following:
- Rename the user files directory "files" to "ufiles" or anything you want as long as it is not "files".
- Rename the public files directory "public" to "pfiles" or anything you want as long as it is not "public".
- Edit your current settings to reflect these changes. Check that everything still works by using the uploader, browsing your own files and public files.
If everything works fine, proceed to the next step.
- While you're in the uploader settings, put the uploader into maintenance mode.
- Extract the new version to a temporary directory. There are some settings in update.php that you can edit. They are the same settings found in configs.inc.php. Upload update.php and image.class.php in the includes directory to your server. Run update.php and follow the instructions. Depending on the number of users you have, this process may take a VERY long time. The script will output the number of user accounts updated so you can see the progress. While the update script is running, edit the following files in the temporary directory where you have extraced the new version.
configs.inc.php, upl_settings.inc.php, pub_settings.inc.php, usr_settings.inc.php
- When the update process is finished, the script will tell you that you can now upload the new version. Upload all the files from the new version onto your server. The quickest way is to delete everything on your server except the ufiles and pfiles directories and then simply upload everything from the temp directory to your server. Delete update.php and install.php. You should now be running version 6.3.
- Run getkey.php which will give you a message, like this:
The server key is: d4bc63fc259df3737c0cfb2d6cbf8d49
Email me the server key along with your paypal address for proof of purchase. I will send you a license key in response, usually within minutes during business hours (PST). Edit configs.inc.php and enter this license key.
The server key is different for every server and will change if you move the location of the uploader (php) files. It's safe to leave getkey.php on the server in case you accidently lose the license key and need to generate another server key.
Changes in version 6.3
- All PHP files (not the template files) are encoded. Your server must have the Zend Optimizer installed to run this script. Any decent host should have it installed as it comes standard. The template files are not encoded so you can still modify them.
- A License Key is required to run the script. See installation instructions to obtain one.
- Uploaded files' metadata are stored in the database. This makes it easier to implement new features (see below). The file themselves will be evenly distributed throughout the sub directories of the files and pfiles directories for the registered uploader and the public uploader respectively. Since the files' names are stored the the database, the actual file on disk is randomly and uniquely named without any extension and no way for direct access. This means that you can allow users to upload any file type, even PHP files.
There is a directory limit of 32K on some linux servers (certain filesystems) which means that with the old way of storing user files the script cannot create directories for new users past the 32K mark. The new way allows for virtually unlimited users and files (32K cubed [or 32 billion] users max). Additionally the location of user files are no longer based on their user ids. A file's metadata contains the absolute path to the file which means it can be anywhere, not necessarily the files or pfiles directories. This means that if the partition that these directories are on ever gets full, you can just add another partition. Simply change the userfiles_dir and the public_dir settings. There is plan for automatic directory switching if one gets full so you can just add a bunch of directories and the script will switch directory when one gets full. Perhaps in the next version,may be! .
- All file related features have been improved. Uploading, managing, and viewing images have been greatly improved. Users can now comment on images. The myfiles page has been spruced up with a little bit of AJAX.
- Slideshow feature added for gallery folders or public files that are images.
- Uploaded images will have thumbnails automatically created. Each image will have a hidden square, small, and large thumbnail.
- Folder access permissions. Three different permissions can be set.
Public: files in the folder can be accessed and browsed by anyone. The folder also shows up on the Members page.
Hidden: same as public except the folders do not show up on the Members page. If the URL to the folder is known, then anyone can access that folder as though it were public.
Private: only the owner and the owner's contacts can access and browse the files in the folder. The owner can also set which contact type can access the folder (see below).
- Contacts; users can add other users as contacts and permit them access to their files. The contact types are Friend and/or Family or just a plain contact.
- All admin features have been improved. The Settings sections have been removed in favor of manually editing setting files. I realize that this may be the attraction of my script but it's just a hassle for me to update the admin code and the template file every time I add a tiny setting. This makes it easier for me to add more settings in the future.
- User banning based on IP address. Users can be banned from uploading on the public uploader or registering for an account.